Devices in a network comprising an embedded system often referred to as nodes, such as routing, bridging, switching, porting, and multifunction devices, can determine the behavior of a network. The behavior of the nodes may be determined by embedded system software and the behavior of the software can be based on specific functions. A module may comprise circuitry such as a microprocessor to execute embedded software to perform a specific function and the performance can be governed by configuration parameters of the module. Further, the behavior of a first module can be affected by a configuration parameter of a second module when the first module has a configuration parameter dependent on the second module's configuration parameter.
Since the behavior of the network may be governed by configuration parameters, a system for updating configuration parameters can provide flexibility. For example, data transmission functions or protocols may be turned on, off, or modified. The configuration parameters may reside in run-time variables of a module as well as a configuration database. Inconsistent configuration parameters, however, can disrupt a module's operation, causing time delays or lost sessions, so changes to configuration parameters should be made in a correct sequence.
Configuration parameter change requests may be transmitted to one or more management clients and the management clients may forward the requests to modules in different sequences so modules may not receive configuration parameters in a correct sequence. A correct sequence for configuration parameters requests can comprise a sequence that maintains inter-module dependencies of configuration parameters, sometimes referred to as maintaining the global consistency. Thus, to maintain the global consistency, reconfiguration of a module may comprise the shutdown and initialization of the node with the new configuration parameters or each module must support receipt of requests in an incorrect sequence, reducing network capabilities for a period of time and increasing the size and complexity of each module's administration code.